package com.xjm_cloud_admin.domain.vo.resp;

import com.xjm_cloud_admin.domain.XjmFile;
import lombok.Data;

import java.util.Date;

/**
 * @author 浪漫写尽歌谱
 */
@Data
public class FileListRespVo {

    /**
     * 文件id
     */
    private Long id;
    /**
     * 文件名称
     */
    private String name;
    /**
     * 文件缩略图路径
     */
    private String thumbnailPath;
    /**
     * 文件缩预览路径
     */
    private String previewPath;
    /**
     * 文件md5值
     */
    private String md5;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 文件大小
     */
    private Long size;
    /**
     * 文件类型
     */
    private String type;
    /**
     * 文件状态 （0 正常 1 转码中 2 转码失败 3 回收中 4 删除）
     */
    private String status;
    /**
     * 父级id
     */
    private Long parentId;
    /**
     * 层级
     */
    private String level;
    /**
     * 顶层id
     */
    private Long topId;
    /**
     * 创建时间
     */
    private Date createTime;


    public FileListRespVo toFileListRespVo(XjmFile xjmFile) {
        if (xjmFile == null) {
            return null;
        }
        FileListRespVo fileListRespVo = this;
        fileListRespVo.setId(xjmFile.getId());
        fileListRespVo.setName(xjmFile.getName());
        fileListRespVo.setMd5(xjmFile.getMd5());
        fileListRespVo.setUserId(xjmFile.getUserId());
        fileListRespVo.setSize(xjmFile.getSize());
        fileListRespVo.setType(xjmFile.getType());
        fileListRespVo.setStatus(xjmFile.getStatus());
        fileListRespVo.setParentId(xjmFile.getParentId());
        fileListRespVo.setLevel(xjmFile.getLevel());
        fileListRespVo.setTopId(xjmFile.getTopId());
        fileListRespVo.setCreateTime(xjmFile.getCreateTime());

        // Not mapped XjmFile fields:
        // path
        // isFolder
        // updateTime

        // Not mapped FileListRespVo fields:
        // thumbnailPath
        return fileListRespVo;
    }
}
